home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
aminet
/
comm
/
misc
/
zedzapbin_1_00.lha
/
zedzap.doc
< prev
Wrap
Text File
|
1992-12-22
|
8KB
|
211 lines
The xprzedzap.library is public domain and is not copyrighted. You may do
with it as you please.
Disclaimer:
The programmer of this library takes no responsibilty for any problems
or damages resulting from the use thereof.
Credits:
Chuck Forsberg ZModem primitives
Rick Huebner Adaptation to Amiga XPR protocol spec
William M. Perkins Addition of CRC-32 routines
Russell McOrmond Refusal to use this version with Welmat
Minor changes and additions (primarily related to
file IO and the XPR 3.0 specs that are currently
being developed)
Yves Konigshofer Addition of primary ZedZap/ZedZip functions
Addition of optional DirectZap
XProtocolSetup options:
T = Text Mode
TY = Force text mode on
TN = Force text mode off
T? = Use other end's text mode suggestion (default to binary)
TC = Ask comm program for file type
O = Overwrite Mode
OY = Yes, delete old file and replace with new one
ON = No, prevent overwrite by appending ".dup"
OR = Resume transfer at end of existing file
OS = Skip file if it already exists; go on to next
B = File Buffer
Size of the file I/O buffer in kilobytes
F = Framelength
Number of bytes we're willing to send or receive between ACKs
E = Error Limit
Number of SEQUENTIAL errors that will cause an abort (max 32767)
A = Auto-Actiave Mode
AY = Auto-Activate if ZRQINIT is received
AN = Don't look for ZRQINIT
D = Delete-After-Sending Mode
DY = Delete files after successfully sending them
DN = Don't delete files after sending
K = Keep-Partial-Files Mode
KY = Keep partially-received file fragments to allow later resumtion
KN = Delete partially-received file fragments
S = Send-Path Mode
SY = Send full filename including directory path
SN = Send only the filename
R = Receive-Path Mode
RY = Use full filename exactly as received; don't use P option path
RN = Ignore received directory path if any; use path from P instead
C = Different BPS Rate
It may happen that your XPR interface does not tell the library the
current baud rate. If this field is used then the specified BPS rate
will be used instead of what is found in v->Baud (this will then
also influence the block length when sending). This value must lie
between 300 and 57600.
N = Send-No-Files Mode
ZedZap requires the ability to send no file at all. If this option
used then a ZFIN is sent as soon as the transfer is started. Use
this option if you plan on using this library for ZedZap or ZedZip
transfers on Fidonet.
NY = Pretend a transfer if there are no files to be sent (Fidonet)
NN = Behave like Zmodem would in this situation (normal)
M = Maximum Block Size
This determines the maximum block size that can be used while sen-
ding. The limit is 8192 bytes which is required for ZedZap transfers.
L = Fall-back/Fall-forward Mode
LY = Allow the block length to change as errors occur while sending
LN = Never change the block length
LB = Allow the block length to only fall back when errors occur
LF = Allow the block length to only fall forward (???)
U = Dos.Library Mode
UY = Yes, open the dos.library and then perhaps try to open a window
UN = No, don't open the dos.library
G = GoodNeeded
(v 1.00)
This determines the amount of bytes that must be successfully sent
in order to increase the block size. The default for this is 8192
bytes.
I = Initial Block Size
(v 1.00)
This determines the block size that will be used at the start of the
transfer. The default for this is 1024 bytes (the block size will
gradually increase towards the maximum block size during the file
transfer provided that not too many errors appear)
W = Open Window Mode
(v 1.00)
If the dos library is opened then this determines if a window is
opened to view the progress of the transfer. This can be helpful if
your comm. program does not give enough information during the
transfer. The type of window that is opened is determined by getting
and using the data from the file ZedZapWindow which is preceded by
the what is defined by option 'V'. If option 'V' is set to "ENV:1."
then the xprzedzap.library will attempt to open the file by the
name "ENV:1.ZedZapWindow" which should contain the required para-
meters for a CON: or RAW: window. (see ENV: variables below)
Q = Quick DirectZap
(v 1.00)
This is the big addition to version 1.00. By enabling this option
you are telling the library to ONLY use the ZModem escape sequence
(CAN/ZDLE/0x18) on a CAN/ZDLE/0x18. This means that DLE/XON/XOFF
(and DLE+128/XON+128/XOFF+128) will NOT be escaped. The CR after
a '@' will also not be escaped. Therefore you MAY NOT use any kind
of SOFTWARE FLOW-CONTROL (such as XON/XOFF) because these bytes
are not being sent to the modem without being converted to something
else!
If this option is not used, then maximum transfer speeds using a
block size of 1024 and 32bit CRC would be:
1024 / ((1024/256*7) + 1024 + 2 + (4/256*7) + 4) = 1024/1058 = 96.8%
If on the other hand only 1 byte can be escaped (instead of the 7
in the prior example) the maximum transfer speed would be:
1024 / ((1024/256*1) + 1024 + 2 + (4/256*1) + 4) = 1024/1034 = 99.0%
Is is now important to mention that these throughput rates are under
ideal conditions where disk IO would not slow the transfers down
through reads/writes. These rates can also be higher is data com-
pression is used, but at 2400bps (without any sort of data compres-
sion or correction) the cps rates with VLT are usually about 236
as opposed to 232 (just a tiny difference).
IMPORTANT: Using DirectZap does NOT work with all receiving ZModem
programs. In such cases an error is usually reported by the remote
receiver after the first few data blocks. This has to due with the
fact that some ZModem implementations require the before-mentioned
characters to be 'escaped'.
V = ENV: Variable Start
This string (up to about 25 letters) is what the variables that the
xprzedzap.library will open start with. If this is left out, the
variables will be assumed to start with "ENV:". (you can also relo-
cate these somewhere else)
P = File Path
Receive files into the therin specified directory if RN is selected
ENV: variables
If you specify that you wish to open the dos.library, then the
xprzedzap.library will look for ENV:ZedZapWindow which should contain
something like "RAW:0/0/640/130/ZedZap/SCREEN Welmat's Public Screen".
You can set the ENV: variable by either editing a file or using the
AmigaDOS "setenv" command. This can also be set from within some
programs. This window should be at least the previously specified
size, and will contain information about the file that is being trans-
fered. If the V option is used, then the ENV: variable is required
to start with that (ie "VNode1_" would open up "Node1_ZedZapWindow".
This allows multiple windows to be opened with different appearan-
ces.
In the future, some additional options may be specifiable via ENV:
variables.
Bug Fixes:
0.80
-8192 byte packets can now be correctly received
0.85
-supports the Welmat reccomdation of a xpru_status field
0.90
-optional dos.library functions
-customizable status window for transfers if the XPR interface does
not seem to be showing enough (like the BETA versions of Welmat)
-improved multiple program support so that multiple programs can open
the same library
1.00
(sooner or later this number has to come up... and since the library
now functions rather well... I guess I'll call it 1.00 now)
-addition DirectZap (uses Zmodem escape sequence (ZDLE) only on CAN
(ZDLE))
-changed a few return codes here and there...
-Yves Konigshofer
Fidonet#1:109/456.0
BBS: (301)469-9837